package com.ztgf.logistics.models.bo.deppon.api;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 * 修改订单
 *
 * @author mxli
 * @Date 2021-09-13 22:15:56
 */
@Data
public class DepponEditOrderBO implements Serializable {
    @ApiModelProperty(value = "物流公司ID", required = true)
    private String logisticCompanyID = "DEPPON";

    @ApiModelProperty(value = "渠道单号", required = true)
    private String logisticID;

    @ApiModelProperty(value = "订单来源", required = true)
    private String orderSource;//与companyCode保持一致
    @ApiModelProperty(value = "服务类型", required = true)
    private String serviceType;//1:零担在线定单 2．快递在线下单

    @ApiModelProperty(value = "发货人信息", required = true)
    private DepponContactsBO sender;
    @ApiModelProperty(value = "收货人信息", required = true)
    private DepponContactsBO receiver;

    @ApiModelProperty(value = "订单提交时间", required = true)
    private String gmtCommit;//系统当前时间,格式为 yyyy-MM-dd HH:mm:ss 如 2020-11-07 18:44:19

    @ApiModelProperty(value = "货物名称", required = true)
    private String cargoName;
    @ApiModelProperty(value = "特殊商品性质", required = true)
    private String special;//普通[0]、易碎[1]、液态[2]、化学品[3]、白色粉末状[4]、香烟[5]
    @ApiModelProperty(value = "总件数（包裹数）", required = true)
    private Integer totalNumber;
    @ApiModelProperty(value = "总重量单位：kg", required = true)
    private BigDecimal totalWeight;
    @ApiModelProperty(value = "总体积单位：m3")
    private BigDecimal totalVolume;

    @ApiModelProperty(value = "支付方式", required = true)
    private String payType;//：0、发货人付款（现付）（大客户模式不支持寄付） 1、收货人付款（到付） 2、发货人付款（月结）
    @ApiModelProperty(value = "运输方式/产品类型", required = true)
    private String transportType;//（具体传值请与月结合同签订约定的为准，否则可能影响计费） 快递运输方式 : RCP：大件快递360； NZBRH：重包入户； ZBTH：重包特惠； WXJTH：微小件特惠； JJDJ：经济大件； PACKAGE：标准快递；HKDJC：航空大件次日达; HKDJG：航空大件隔日达; TZKJC：特快专递; 零担运输方式： JZKY：精准空运（仅散客模式支持该运输方式）; JZQY_LONG：精准汽运； JZKH：精准卡航； 整车运输方式 1.整车配送 ZCPS 2.精准专车 JZZHC
    @ApiModelProperty(value = "代收货款类型：0：无代收 1：即日退 3：三日退 代收货款金额不为0时，此项客户必填，代收货款金额为0或为空，则代收类型默认为无")
    private String codType;
    @ApiModelProperty(value = "代收货款金额：可为空 如为空，则FOSS开单时默认为0，单位：元")
    private BigDecimal codValue;

    //TODO: 添加方法没得该属性
    @ApiModelProperty(value = "上门接货: 是:Y 否：N")
    private String vistReceive;
    @ApiModelProperty(value = "上门接货开始时间")
    private String sendStartTime;//方便上门接货的时间范围(yyyy-MM-dd HH:mm:ss)
    @ApiModelProperty(value = "上门接货结束时间")
    private String sendEndTime;

    @ApiModelProperty(value = "送货方式: 1、自提； 2、送货进仓； 3、送货（不含上楼）； 4、送货上楼； 5、大件上楼", required = true)
    private String deliveryType;
    @ApiModelProperty(value = "签收回单：", required = true)
    private Integer backSignBill;//0:无需返单 1：签收单原件返回 2:电子签收单（电子签名图片需要另外对接查询接口）
    @ApiModelProperty(value = "包装（直接用中文） ： 纸、纤、木箱、木架、托膜、托木（大客户模式下运输方式为零担时必填）")
    private String packageService;
    @ApiModelProperty(value = "短信通知：Y：需要 N: 不需要")
    private String smsNotify;
    @ApiModelProperty(value = "备注")
    private String remark;
    @ApiModelProperty(value = "保价金额：单位：元")
    private BigDecimal insuranceValue;
    @ApiModelProperty(value = "运单号")
    private String mailNo;
    @ApiModelProperty(value = "下单模式： 0：电子运单，2：散客电子运单", required = true)
    private String orderType;//1、 散客模式（单量较小，平台类，异地调货，退换货等发货地址不固定-需要通知快递员或者司机上门取件打单;整车订单也选此模式）； 2、 大客户模式（仓库发货，固定点出货，单量较大客户自行打印标签，快递员直接盲扫走货）3、同步筛单下单（只支持大客户模式快递下单）


}